package com.newshub.monitor.entity;

import lombok.Data;
import lombok.Builder;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;

import java.time.LocalDateTime;

/**
 * 告警规则实体
 * 用于配置系统监控告警规则
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AlertRule {
    
    /**
     * 主键ID
     */
    private Long id;
    
    /**
     * 规则名称
     */
    private String ruleName;
    
    /**
     * 规则描述
     */
    private String description;
    
    /**
     * 监控指标类型
     */
    private String metricType;
    
    /**
     * 监控指标名称
     */
    private String metricName;
    
    /**
     * 告警条件：>, <, >=, <=, ==, !=
     */
    private String operator;
    
    /**
     * 告警阈值
     */
    private Double threshold;
    
    /**
     * 告警级别：INFO, WARN, ERROR, CRITICAL
     */
    private String alertLevel;
    
    /**
     * 告警间隔（秒）
     */
    private Integer alertInterval;
    
    /**
     * 是否启用
     */
    private Boolean enabled;
    
    /**
     * 通知方式：EMAIL, SMS, WEBHOOK
     */
    private String notifyType;
    
    /**
     * 通知配置（JSON格式）
     */
    private String notifyConfig;
    
    /**
     * 创建时间
     */
    private LocalDateTime createdAt;
    
    /**
     * 更新时间
     */
    private LocalDateTime updatedAt;
}



